17 research outputs found

    Innovation Initiatives in Large Software Companies: A Systematic Mapping Study

    Full text link
    To keep the competitive advantage and adapt to changes in the market and technology, companies need to innovate in an organised, purposeful and systematic manner. However, due to their size and complexity, large companies tend to focus on maintaining their business, which can potentially lower their agility to innovate. This study aims to provide an overview of the current research on innovation initiatives and to identify the challenges of implementing the initiatives in the context of large software companies. The investigation was performed using a systematic mapping approach of published literature on corporate innovation and entrepreneurship. Then it was complemented with interviews with four experts with rich industry experience. Our study results suggest that, there is a lack of high quality empirical studies on innovation initiative in the context of large software companies. A total of 7 studies are conducted in such context, which reported 5 types of initiatives: intrapreneurship, bootlegging, internal venture, spin-off and crowdsourcing. Our study offers three contributions. First, this paper represents the map of existing literature on innovation initiatives inside large companies. The second contribution is to provide an innovation initiative tree. The third contribution is to identify key challenges faced by each initiative in large software companies. At the strategic and tactical levels, there is no difference between large software companies and other companies. At the operational level, large software companies are highly influenced by the advancement of Internet technology. Large software companies use open innovation paradigm as part of their innovation initiatives. We envision a future work is to further empirically evaluate the innovation initiative tree in large software companies, which involves more practitioners from different companies

    Improving Students With Rubric-Based Self-Assessment and Oral Feedback

    Full text link
    Rubrics and oral feedback are approaches to help students improve performance and meet learning outcomes. However, their effect on the actual improvement achieved is inconclusive. This paper evaluates the effect of rubrics and oral feedback on student learning outcomes. An experiment was conducted in a software engineering course on requirements engineering, using the two approaches in course assignments. Both approaches led to statistically significant improvements, though no material improvement (i.e., a change by more than one grade) was achieved. The rubrics led to a significant decrease in the number of complaints and questions regarding grades

    Test Automation with Grad-CAM Heatmaps -- A Future Pipe Segment in MLOps for Vision AI?

    Full text link
    Machine Learning (ML) is a fundamental part of modern perception systems. In the last decade, the performance of computer vision using trained deep neural networks has outperformed previous approaches based on careful feature engineering. However, the opaqueness of large ML models is a substantial impediment for critical applications such as in the automotive context. As a remedy, Gradient-weighted Class Activation Mapping (Grad-CAM) has been proposed to provide visual explanations of model internals. In this paper, we demonstrate how Grad-CAM heatmaps can be used to increase the explainability of an image recognition model trained for a pedestrian underpass. We argue how the heatmaps support compliance to the EU's seven key requirements for Trustworthy AI. Finally, we propose adding automated heatmap analysis as a pipe segment in an MLOps pipeline. We believe that such a building block can be used to automatically detect if a trained ML-model is activated based on invalid pixels in test images, suggesting biased models.Comment: Accepted for publication in the Proc. of the 1st International Workshop on DevOps Testing for Cyber-Physical System

    Software Quality Evaluation for Evolving Systems in Distributed Development Environments

    No full text
    Context: There is an overwhelming prevalence of companies developing software in global software development (GSD) contexts. The existing body of knowledge, however, falls short of providing comprehensive empirical evidence on the implication of GSD contexts on software quality for evolving software systems. Therefore there is limited evidence to support practitioners that need to make informed decisions about ongoing or future GSD projects. Objective: This thesis work seeks to explore changes in quality, as well as to gather confounding factors that influence quality, for software systems that evolve in GSD contexts. Method: The research work in this thesis includes empirical work that was performed through exploratory case studies. This involved analysis of quantitative data consisting of defects as an indicator for quality, and measures that capture software evolution, and qualitative data from company documentations, interviews, focus group meetings, and questionnaires. An extensive literature review was also performed to gather information that was used to support the empirical investigations. Results: Offshoring software development work, to a location that has employees with limited or no prior experience with the software product, as observed in software transfers, can have a negative impact on quality. Engaging in long periods of distributed development with an offshore site and eventually handing over all responsibilities to the offshore site can be an alternative to software transfers. This approach can alleviate a negative effect on quality. Finally, the studies highlight the importance of taking into account the GSD context when investigating quality for software that is developed in globally distributed environments. This helps with making valid inferences about the development settings in GSD projects in relation to quality. Conclusion: The empirical work presented in this thesis can be useful input for practitioners that are planning to develop software in globally distributed environments. For example, the insights on confounding factors or mitigation practices that are linked to quality in the empirical studies can be used as input to support decision-making processes when planning similar GSD projects. Consequently, lessons learned from the empirical investigations were used to formulate a method, GSD-QuID, for investigating quality using defects for evolving systems. The method is expected to help researchers avoid making incorrect inferences about the implications of GSD contexts on quality for evolving software systems, when using defects as a quality indicator. This in turn will benefit practitioners that need the information to make informed decisions for software that is developed in similar circumstances

    Understanding the Impact on Software Quality for Evolving Systems in Distributed Development Environments

    No full text
    Context: The existing body of knowledge falls short of providing comprehensive empirical evidence on the impact that global software development (GSD) strategies have on software quality during software evolution. The realization of expected benefits of such GSD strategies, e.g. reduced costs, should not be taken for granted. Challenges faced can negatively impact quality, which can consequently inhibit the realization of the potential benefits. Objective: This licentiate thesis provides empirical evidence pertaining to the effect on quality for evolving systems in distributed development environments. The aim is to provide empirical evidence that can be useful input in the decision-making process for future GSD projects that are executed in distributed development environments. Method: The findings presented in this licentiate thesis are obtained from three empirical studies and one extensive systematic literature review. The empirical studies were conducted at two large multinational corporations. Meanwhile, the purpose of the systematic review was to obtain empirical information that was used to successfully execute one of the empirical studies. All empirical work was done using both quantitative data (e.g., defect data, features per release, source code measures, release history) and qualitative data (e.g., interviews, focus group meetings, questionnaires, and analysis of company documentations). Result: Transfers have a potentially negative impact on quality and efficiency. Observations that were made on quantitative data in all three empirical studies were triangulated with subjective opinions that were obtained from practitioners. When studying the quality of a large software system, a significant decrease in quality was identified; similarly in a study focusing on maintenance work efficiency two studied large software products showed a noticeable decrease. Meanwhile, there was no discernible impact on quality for two products, as a result of distributed development and the handover of responsibilities between involved sites. Transfer critical factors, which can impact quality, as well as transfer enabling factors, which can alleviate transfer-related issues, were also identified from these empirical studies. Conclusions: Companies that engage in software transfers should expect a decline in quality during and immediately after a transfer. There are practices, such as, engaging in distributed development, and the gradual handover of responsibilities, that can alleviate transfer-related issues. The findings in this licentiate thesis can be a valuable input in the decision-making process for companies engaging in transfers in GSD contexts, and thus help in making informed decisions in current or future transfers. Moreover, this licentiate thesis shows that analyzing the evolution of size and complexity properties of a product’s source code, and defect data, can also provide useful objective data to support decision-making during similar projects

    Global Software Development Challenges and Mitigation Strategies : A Systematic Review and Survey Results

    No full text
    Context: Software development in a setting in which the development sites are dispersed across geographical areas, either close proximity or globally, is fast becoming a widespread trend. This software development arrangement is also known as Global Software Development (GSD) or Distributed Software Development (DSD) or Global Software Engineering (GSE). Projects executed by a dispersed team have been noted as a more risky and challenging venture than projects run with teams under the same roof. Therefore the knowledge of the potential challenges and the probable mitigation strategies for GSD is vital for running a successful project. Objectives: The study entails the identification of GSD related challenges as well as their mitigation strategies. The collected challenges and mitigation strategies are later compiled into checklists. The developed checklists can be incorporated into risk management process particularly risk identification and risk mitigation planning. Methods: This research extends an existing systematic literature study conducted on empirical research on GSD, which was based on a review of publications from 2000 to 2007. The previous research is incorporated in this research and, in addition, papers between 2007 and 2009 are reviewed. In contrast to the previous research was aimed at gathering empirical evidence in GSD, however in this research the focus is specifically on challenges associated with GSD projects as well as the mitigation strategies that can be employed. An industrial survey was also conducted to validate the checklists and determine if the identified challenges and mitigation strategies were pervasive in industry. Furthermore interviews were also conducted to further validate the usefulness and usability of the developed checklists. Result: As a result, from the systematic literature review for publications between 2000 and 2009, a total of 48 challenges and 42 mitigation strategies were identified and placed in two separate categorized checklists. These challenges and mitigation strategies are elaborated in this paper. From the survey result, no additional challenges and 4 strategies were identified in the survey. Meanwhile from the interviews, all interviewees reported that the checklists are useful and easy to use. Conclusion: The absence of new challenges being identified from the study did not merit a conclusion that all possible challenges in GSD have been revealed. Therefore we conclude that more empirical research still needs to be done on identifying the challenges and mitigation strategies associated with GSD settings. Furthermore the checklists can be useful and valuable in identifying challenges and the potential mitigation strategies for communication, control and coordination mechanisms in distributed software development projects

    An Exploratory Study of Software Evolution and Quality: Before, During and After a Transfer

    No full text
    In the light of globalization it is not uncommon that different teams from different locations get involved in the development of a software product during its evolution. However, empirical evidence that demonstrates the effect of changing team members on software quality is scarce. In this paper, we investigate quality of a software product, across subsequent software releases, that was first developed in one location of Ericsson, a large multinational corporation, then jointly with an offshore location of the same company, and finally transferred offshore. To get a better understanding multiple data sources are used in the analysis: qualitative data, consisting of interviews and documentation, and quantitative data, consisting of release history and defect statistics. Our findings confirm an initial decline in efficiency and quality after a transfer, and highlight the areas of concern for companies that are considering transferring their product development from experienced teams to those having limited or no previous engagement with the product

    Global Software Development Challenges and Mitigation Strategies : A Systematic Review and Survey Results

    No full text
    Context: Software development in a setting in which the development sites are dispersed across geographical areas, either close proximity or globally, is fast becoming a widespread trend. This software development arrangement is also known as Global Software Development (GSD) or Distributed Software Development (DSD) or Global Software Engineering (GSE). Projects executed by a dispersed team have been noted as a more risky and challenging venture than projects run with teams under the same roof. Therefore the knowledge of the potential challenges and the probable mitigation strategies for GSD is vital for running a successful project. Objectives: The study entails the identification of GSD related challenges as well as their mitigation strategies. The collected challenges and mitigation strategies are later compiled into checklists. The developed checklists can be incorporated into risk management process particularly risk identification and risk mitigation planning. Methods: This research extends an existing systematic literature study conducted on empirical research on GSD, which was based on a review of publications from 2000 to 2007. The previous research is incorporated in this research and, in addition, papers between 2007 and 2009 are reviewed. In contrast to the previous research was aimed at gathering empirical evidence in GSD, however in this research the focus is specifically on challenges associated with GSD projects as well as the mitigation strategies that can be employed. An industrial survey was also conducted to validate the checklists and determine if the identified challenges and mitigation strategies were pervasive in industry. Furthermore interviews were also conducted to further validate the usefulness and usability of the developed checklists. Result: As a result, from the systematic literature review for publications between 2000 and 2009, a total of 48 challenges and 42 mitigation strategies were identified and placed in two separate categorized checklists. These challenges and mitigation strategies are elaborated in this paper. From the survey result, no additional challenges and 4 strategies were identified in the survey. Meanwhile from the interviews, all interviewees reported that the checklists are useful and easy to use. Conclusion: The absence of new challenges being identified from the study did not merit a conclusion that all possible challenges in GSD have been revealed. Therefore we conclude that more empirical research still needs to be done on identifying the challenges and mitigation strategies associated with GSD settings. Furthermore the checklists can be useful and valuable in identifying challenges and the potential mitigation strategies for communication, control and coordination mechanisms in distributed software development projects

    SIoT Framework: Towards an Approach for Early Identification of Security Requirements for Internet-of-things Applications

    No full text
    Background: Security has become more of a concern with the wide deployment of Internet-of-things (IoT) devices. The importance of addressing security risks early in the development lifecycle before pushing to market cannot be over emphasized. Aim: To this end, we propose a conceptual framework to help with identifying security concerns early in the product development lifecycle for Internet-of-things, that we refer to as SIoT (Security for Internet-of-Things). Method: The framework adopts well known security engineering approaches and best practices, and systematically builds on existing research work on IoT architecture. Results: Practitioners at a Norwegian start-up company evaluated the framework and found it useful as a foundation for addressing critical security concerns for IoT applications early in the development lifecycle. The output from using the framework can be a checklist that can be used as input during security requirements engineering activities for IoT applications. Conclusions: However, security is a multi-faced concept; therefore, users of the SIoT framework should not view the framework as a panacea to all security threats. The framework may need to be refined in the future, particularly to improve its completeness to cover various IoT contexts

    Visualization of Defect Inflow and Resolution Cycles: Before, During and After Transfer

    No full text
    The link between maintenance and product quality, as well as the high cost of software maintenance, highlights the importance of efficient maintenance processes. Sustaining maintenance work efficiency in a global software development setting that involves a transfer is a challenging endeavor. Studies report on the negative effect of transfers on efficiency. However, empirical evidence on the magnitude of the change in efficiency is scarce. In this study we used a lean indicator to visualize variances in defect resolution cycles for two large products during evolution, before, during and after a transfer. Focus group meetings were also held for each product. Study results show that during and immediately after the transfer the defect inflow is higher, bottlenecks are more visible, and defect resolution cycles are longer, as compared to before the transfer. Furthermore we highlight the factors that influenced the change in defect resolution cycles before, during, and after the transfer
    corecore